package com.netposa.datawarehouse.aggregator.web.vo;

import com.netposa.datawarehouse.aggregator.web.model.SearchDataType;
import java.beans.ConstructorProperties;

public class DetectionResult {
   private String sessionKey;
   private String dataKey;
   private SearchDataType dataType;
   private String imgPath;
   private String feature;

   public String getSessionKey() {
      return this.sessionKey;
   }

   public String getDataKey() {
      return this.dataKey;
   }

   public SearchDataType getDataType() {
      return this.dataType;
   }

   public String getImgPath() {
      return this.imgPath;
   }

   public String getFeature() {
      return this.feature;
   }

   public void setSessionKey(String sessionKey) {
      this.sessionKey = sessionKey;
   }

   public void setDataKey(String dataKey) {
      this.dataKey = dataKey;
   }

   public void setDataType(SearchDataType dataType) {
      this.dataType = dataType;
   }

   public void setImgPath(String imgPath) {
      this.imgPath = imgPath;
   }

   public void setFeature(String feature) {
      this.feature = feature;
   }

   public boolean equals(Object o) {
      if (o == this) {
         return true;
      } else if (!(o instanceof DetectionResult)) {
         return false;
      } else {
         DetectionResult other = (DetectionResult)o;
         if (!other.canEqual(this)) {
            return false;
         } else {
            label71: {
               Object this$sessionKey = this.getSessionKey();
               Object other$sessionKey = other.getSessionKey();
               if (this$sessionKey == null) {
                  if (other$sessionKey == null) {
                     break label71;
                  }
               } else if (this$sessionKey.equals(other$sessionKey)) {
                  break label71;
               }

               return false;
            }

            Object this$dataKey = this.getDataKey();
            Object other$dataKey = other.getDataKey();
            if (this$dataKey == null) {
               if (other$dataKey != null) {
                  return false;
               }
            } else if (!this$dataKey.equals(other$dataKey)) {
               return false;
            }

            label57: {
               Object this$dataType = this.getDataType();
               Object other$dataType = other.getDataType();
               if (this$dataType == null) {
                  if (other$dataType == null) {
                     break label57;
                  }
               } else if (this$dataType.equals(other$dataType)) {
                  break label57;
               }

               return false;
            }

            Object this$imgPath = this.getImgPath();
            Object other$imgPath = other.getImgPath();
            if (this$imgPath == null) {
               if (other$imgPath != null) {
                  return false;
               }
            } else if (!this$imgPath.equals(other$imgPath)) {
               return false;
            }

            Object this$feature = this.getFeature();
            Object other$feature = other.getFeature();
            if (this$feature == null) {
               if (other$feature == null) {
                  return true;
               }
            } else if (this$feature.equals(other$feature)) {
               return true;
            }

            return false;
         }
      }
   }

   protected boolean canEqual(Object other) {
      return other instanceof DetectionResult;
   }

   public int hashCode() {
      
      int result = 1;
      Object $sessionKey = this.getSessionKey();
      result = result * 59 + ($sessionKey == null ? 43 : $sessionKey.hashCode());
      Object $dataKey = this.getDataKey();
      result = result * 59 + ($dataKey == null ? 43 : $dataKey.hashCode());
      Object $dataType = this.getDataType();
      result = result * 59 + ($dataType == null ? 43 : $dataType.hashCode());
      Object $imgPath = this.getImgPath();
      result = result * 59 + ($imgPath == null ? 43 : $imgPath.hashCode());
      Object $feature = this.getFeature();
      result = result * 59 + ($feature == null ? 43 : $feature.hashCode());
      return result;
   }

   public String toString() {
      return "DetectionResult(sessionKey=" + this.getSessionKey() + ", dataKey=" + this.getDataKey() + ", dataType=" + this.getDataType() + ", imgPath=" + this.getImgPath() + ", feature=" + this.getFeature() + ")";
   }

   @ConstructorProperties({"sessionKey", "dataKey", "dataType", "imgPath", "feature"})
   public DetectionResult(String sessionKey, String dataKey, SearchDataType dataType, String imgPath, String feature) {
      this.sessionKey = sessionKey;
      this.dataKey = dataKey;
      this.dataType = dataType;
      this.imgPath = imgPath;
      this.feature = feature;
   }
}
